package cc.flyflow.biz.service;

import cc.flyflow.biz.vo.AutoLoginVO;
import cc.flyflow.biz.vo.UserBizVO;
import cc.flyflow.common.dto.R;

import java.util.Map;

/**
 * 登录服务
 *
 * @author Jyl
 */
public interface ILoginService
{

    /**
     * 登录
     *
     * @param userBizVO
     * @return
     */
    R login(UserBizVO userBizVO);

    /**
     * h5登录
     *
     * @param userBizVO
     * @return
     */
    R loginAtH5(UserBizVO userBizVO);

    /**
     * token登录
     *
     * @param token
     * @return
     */
    R loginByToken(String token);

    /**
     * 退出登录
     *
     * @return
     */
    R logout();

    /**
     * 获取登录地址
     *
     * @return
     */
    R getLoginUrl();

    /**
     * 获取登录参数
     *
     * @return
     */
    R getLoginParam(Map<String, Object> paramMap);

    /**
     * 自动登录
     *
     * @param autoLoginVO
     * @return
     */
    R loginAuto(AutoLoginVO autoLoginVO);
}
